// vim: set filetype=c :
//
// delegates.h:
//
// Authors:
//   Rolf Bjarne Kvinge <rolf@xamarin.com>
//
// Copyright 2018 Microsoft Inc.
//

/* Functions calling into ObjCRuntime.Runtime */

<#@ include file="delegates.t4" #>

#ifndef __RUNTIME_GENERATED_H__
#define __RUNTIME_GENERATED_H__

#include "xamarin.h"

#ifdef __cplusplus
extern "C" {
#endif

<# foreach (var d in delegates) {
		if (d.OnlyDynamicUsage)
			continue;
		if (d.OnlyCoreCLR)
			Write ("#if defined (CORECLR_RUNTIME)\n");
#>
<#= d.ReturnType.ExposedCType #>
<#= d.EntryPoint #> (<#= d.CArgumentSignatureFunctionDeclaration #>);
<#
		if (d.OnlyCoreCLR)
			Write ("#endif // CORECLR_RUNTIME\n");
#>

<# } #>

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* __RUNTIME_GENERATED_H__ */
